package com.koron.order.application.bean.query;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author jzp
 * @since 2021/10/8
 */
@Data
public class ApplicationQuery {

    @ApiModelProperty("id列表")
    private List<String> ids;

    /**
     * 检修申请工单编码
     */
    @ApiModelProperty("编码")
    private String code;

    /**
     * 关联工单编码
     */
    @ApiModelProperty("关联工单编码")
    private String orderCode;

    /**
     * 检修内容
     */
    @ApiModelProperty("检修内容")
    private String context;

    /**
     * 检修申请工单标题
     */
    @ApiModelProperty("标题")
    private String title;

    /**
     * 设备ID
     */
    @ApiModelProperty("设备ID集合")
    private List<String> equipmentIds;

    /**
     * 设备名称
     */
    @ApiModelProperty("设备名称")
    private String equipmentName;

    /**
     * 设备管理单位ID
     */
    @ApiModelProperty("设备管理单位ID")
    private String deptManage;

    /**
     * 设备管理单位名称
     */
    @ApiModelProperty("设备管理单位名称")
    private String deptManageName;

    /**
     * 检修类型
     */
    @ApiModelProperty("检修类型")
    private List<String> orderTypes;

    /**
     * 工单状态
     */
    @ApiModelProperty("工单状态")
    private List<Integer> status;

    @ApiModelProperty("负责人集合")
    private List<String> staffs;

    @ApiModelProperty("开始时间")
    private Date startTime;

    /**
     * 预计结束时间
     */
    @ApiModelProperty("预计结束时间")
    private Date endTime;

    private Integer deleteFlag = 0;

    /**
     * 创建单位
     * 只有创建单位才能看到草稿状态的检修申请单
     */
    private String deptId;

    @ApiModelProperty("创建人id")
    private String createBy;

    @ApiModelProperty("创建人名称")
    private String createByName;

    @ApiModelProperty("创建时间")
    private List<Date> createTime;

    /**
     * 批复开始时间
     */
    @ApiModelProperty("批复开始时间")
    private Date checkStartTime;

    /**
     * 批复结束时间
     */
    @ApiModelProperty("批复结束时间")
    private Date checkEndTime;

    /**
     * 实际开始时间
     */
    @ApiModelProperty("实际开始时间")
    private Date factStartTime;

    /**
     * 实际结束时间
     */
    @ApiModelProperty("实际结束时间")
    private Date factEndTime;

    @ApiModelProperty("是否有延时申请")
    private Boolean hasDelay;

}
